<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // var n1 = 100;
        function fn() {
            // var n1 = 200;
            function fn2() {
                // var n1 = 300;
                console.log(n1);
            }
            fn2();
        }

        // fn2(); //fn2是函数私有作用域的函数  不能在全局直接调用 

        // fn();

        // 当我们访问作用内的变量的时候 现在自己的作用域内查找  
        // 自己作用域有 直接用 停止查找
        // 如果没有 去父级作用域查找 父级有 直接用 停止查找 
        // 父级作用域没有继续往上  如果有直接用 没有继续查找 
        // 以此类推 直到window 如果window 也没有 那么报错  ** is not defined 


        console.log(a); // undefined 
        var a = 8;
        function fn() {
            console.log(a); // undefined
            var a = 15;
            console.log(a) // 15  自己有 用自己的 
        }
        fn();
        console.log(a); // 8
    </script>
</body>

</html>